package com.ruoyi.system.api.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonInclude;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;

import java.util.Date;

/**
 * 服务派单涉及到的仪器信息 (数据来源于CC端主动调用，和服务派单主信息一起入库)对象 st_service_instrument
 *
 * @author shihx
 * @date 2020-03-05
 */
@ApiModel(value = "ServiceInstrument", description = "服务派单涉及到的仪器信息实体") // 用来描述封装的参数对象与返回的参数对象
@JsonInclude(JsonInclude.Include.NON_NULL)
public class ServiceInstrument extends BaseEntity {
    private static final long serialVersionUID = 1L;

    /**
     * 主键ID
     */
    @ApiModelProperty(value = "主键ID", name = "id", required = true, dataType = "Long", example = "主键ID")
    private Long id;

    /**
     * 服务派单表主键ID
     */
    @Excel(name = "服务派单表主键ID")
    @ApiModelProperty(value = "服务派单表主键ID", name = "serviceNoticeId", required = true, dataType = "Long", example = "服务派单表主键ID")
    private Long serviceNoticeId;

    /**
     * 服务派单号
     */
    @Excel(name = "服务派单号")
    @ApiModelProperty(value = "服务派单号", name = "serviceNo", required = true, dataType = "String", example = "服务派单号")
    private String serviceNo;

    /**
     * 仪器型号
     */
    @Excel(name = "仪器型号")
    @ApiModelProperty(value = "仪器型号", name = "instrumentNo", required = true, dataType = "String", example = "仪器型号")
    private String instrumentNo;

    /**
     * 仪器序列号
     */
    @Excel(name = "仪器序列号")
    @ApiModelProperty(value = "仪器序列号", name = "instrumentSerialNumber", required = true, dataType = "String", example = "仪器序列号")
    private String instrumentSerialNumber;

    /**
     * factory So
     */
    @Excel(name = "factory So")
    @ApiModelProperty(value = "factory So", name = "factorySo", required = true, dataType = "String", example = "factory So")
    private String factorySo;

    /**
     * 发货时间
     */
    @Excel(name = "发货时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "发货时间", name = "deliveryTime", required = true, dataType = "Date", example = "发货时间")
    private Date deliveryTime;

    /**
     * 保修开始时间
     */
    @Excel(name = "保修开始时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "保修开始时间", name = "guaranteeStartTime", required = true, dataType = "Date", example = "保修开始时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date guaranteeStartTime;

    /**
     * 保修结束时间
     */
    @Excel(name = "保修结束时间", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "保修结束时间", name = "guaranteeEndTime", required = true, dataType = "Date", example = "保修结束时间")
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm")
    private Date guaranteeEndTime;

    /**
     * 合同
     */
    @Excel(name = "合同")
    @ApiModelProperty(value = "合同", name = "contract", required = true, dataType = "String", example = "合同")
    private String contract;

    /**
     * 备件
     */
    @Excel(name = "备件")
    @ApiModelProperty(value = "备件", name = "part", required = true, dataType = "String", example = "备件")
    private String part;

    /**
     * SLA
     */
    @Excel(name = "SLA")
    @ApiModelProperty(value = "SLA", name = "sla", required = true, dataType = "String", example = "SLA")
    private String sla;

    /**
     * 备注
     */
    @Excel(name = "备注")
    @ApiModelProperty(value = "备注", name = "instrumentRemark", required = true, dataType = "String", example = "备注")
    private String instrumentRemark;

    /**
     * 仪器类型
     */
    @Excel(name = "仪器类型")
    @ApiModelProperty(value = "仪器类型", name = "instrumentType", required = true, dataType = "String", example = "仪器类型")
    private String instrumentType;

    /**
     * 仪器状态
     */
    @Excel(name = "仪器状态")
    @ApiModelProperty(value = "仪器状态", name = "instrumentStatus", required = true, dataType = "String", example = "仪器状态")
    private String instrumentStatus;

    /**
     * 状态备注
     */
    @Excel(name = "状态备注")
    @ApiModelProperty(value = "状态备注", name = "statusRemark", required = true, dataType = "String", example = "状态备注")
    private String statusRemark;

    /**
     * Materialcode
     */
    @Excel(name = "Materialcode")
    @ApiModelProperty(value = "Materialcode", name = "materialcode", required = true, dataType = "String", example = "Materialcode")
    private String materialcode;

    /**
     * lifecycle
     */
    @Excel(name = "lifecycle")
    @ApiModelProperty(value = "lifecycle", name = "lifecycle", required = true, dataType = "String", example = "lifecycle")
    private String lifecycle;

    /**
     * 品牌
     */
    @Excel(name = "品牌")
    @ApiModelProperty(value = "品牌", name = "brand", required = true, dataType = "String", example = "品牌")
    private String brand;

    /**
     * 约定服务范围
     */
    @Excel(name = "约定服务范围")
    @ApiModelProperty(value = "约定服务范围", name = "serviceRange", required = true, dataType = "String", example = "约定服务范围")
    private String serviceRange;

    /**
     * DEVI-BU
     */
    @Excel(name = "DEVI-BU")
    @ApiModelProperty(value = "DEVI-BU", name = "diviBu", required = true, dataType = "String", example = "DEVI-BU")
    private String diviBu;

    /**
     * MD标识
     */
    @Excel(name = "MD标识")
    @ApiModelProperty(value = "MD标识", name = "mdsign", required = true, dataType = "String", example = "MD标识")
    private String mdsign;

    /**
     * 验收报告需求
     */
    @Excel(name = "验收报告需求")
    @ApiModelProperty(value = "验收报告需求", name = "acceptrequest", required = true, dataType = "String", example = "验收报告需求")
    private String acceptrequest;

    /**
     * Sap物料号
     */
    @Excel(name = "Sap物料号")
    @ApiModelProperty(value = "Sap物料号", name = "sapMaterialNo", required = true, dataType = "String", example = "Sap物料号")
    private String sapMaterialNo;


    /**
     * 存入app数据库的日期
     */
    @Excel(name = "存入app数据库的日期", width = 30, dateFormat = "yyyy-MM-dd")
    @ApiModelProperty(value = "存入app数据库的日期", name = "recordTime", required = true, dataType = "Date", example = "存入app数据库的日期")
    private Date recordTime;

    /**
     * 仪器的主键ID，CC端同步过来的
     */
    @Excel(name = "仪器的主键ID，CC端同步过来的")
    @ApiModelProperty(value = "仪器的主键ID，CC端同步过来的", name = "instrumentId", required = true, dataType = "String", example = "仪器的主键ID，CC端同步过来的")
    private String instrumentId;

    /**
     * 用户名称
     */
    //@ApiModelProperty(value = "用户名称",name="customerName",dataType="String",example="用户名称")
    private String customerName;
    private String homeAddress;
    private String accoutFseName;
    private String cfda;
    public void setId(Long id) {
        this.id = id;
    }

    public Long getId() {
        return id;
    }

    public void setServiceNoticeId(Long serviceNoticeId) {
        this.serviceNoticeId = serviceNoticeId;
    }

    public Long getServiceNoticeId() {
        return serviceNoticeId;
    }

    public void setServiceNo(String serviceNo) {
        this.serviceNo = serviceNo;
    }

    public String getServiceNo() {
        return serviceNo;
    }

    public void setInstrumentNo(String instrumentNo) {
        this.instrumentNo = instrumentNo;
    }

    public String getInstrumentNo() {
        return instrumentNo;
    }

    public void setInstrumentSerialNumber(String instrumentSerialNumber) {
        this.instrumentSerialNumber = instrumentSerialNumber;
    }

    public String getInstrumentSerialNumber() {
        return instrumentSerialNumber;
    }

    public void setFactorySo(String factorySo) {
        this.factorySo = factorySo;
    }

    public String getFactorySo() {
        return factorySo;
    }

    public void setDeliveryTime(Date deliveryTime) {
        this.deliveryTime = deliveryTime;
    }

    public Date getDeliveryTime() {
        return deliveryTime;
    }

    public void setGuaranteeStartTime(Date guaranteeStartTime) {
        this.guaranteeStartTime = guaranteeStartTime;
    }

    public Date getGuaranteeStartTime() {
        return guaranteeStartTime;
    }

    public void setGuaranteeEndTime(Date guaranteeEndTime) {
        this.guaranteeEndTime = guaranteeEndTime;
    }

    public Date getGuaranteeEndTime() {
        return guaranteeEndTime;
    }

    public void setContract(String contract) {
        this.contract = contract;
    }

    public String getContract() {
        return contract;
    }

    public void setPart(String part) {
        this.part = part;
    }

    public String getPart() {
        return part;
    }

    public void setSla(String sla) {
        this.sla = sla;
    }

    public String getSla() {
        return sla;
    }

    public void setInstrumentRemark(String instrumentRemark) {
        this.instrumentRemark = instrumentRemark;
    }

    public String getInstrumentRemark() {
        return instrumentRemark;
    }

    public void setInstrumentType(String instrumentType) {
        this.instrumentType = instrumentType;
    }

    public String getInstrumentType() {
        return instrumentType;
    }

    public void setInstrumentStatus(String instrumentStatus) {
        this.instrumentStatus = instrumentStatus;
    }

    public String getInstrumentStatus() {
        return instrumentStatus;
    }

    public void setStatusRemark(String statusRemark) {
        this.statusRemark = statusRemark;
    }

    public String getStatusRemark() {
        return statusRemark;
    }

    public void setMaterialcode(String materialcode) {
        this.materialcode = materialcode;
    }

    public String getMaterialcode() {
        return materialcode;
    }

    public void setLifecycle(String lifecycle) {
        this.lifecycle = lifecycle;
    }

    public String getLifecycle() {
        return lifecycle;
    }

    public void setBrand(String brand) {
        this.brand = brand;
    }

    public String getBrand() {
        return brand;
    }

    public void setServiceRange(String serviceRange) {
        this.serviceRange = serviceRange;
    }

    public String getServiceRange() {
        return serviceRange;
    }

    public void setDiviBu(String diviBu) {
        this.diviBu = diviBu;
    }

    public String getDiviBu() {
        return diviBu;
    }

    public void setMdsign(String mdsign) {
        this.mdsign = mdsign;
    }

    public String getSapMaterialNo() {
        return sapMaterialNo;
    }

    public void setSapMaterialNo(String sapMaterialNo) {
        this.sapMaterialNo = sapMaterialNo;
    }

    public String getMdsign() {
        return mdsign;
    }

    public void setAcceptrequest(String acceptrequest) {
        this.acceptrequest = acceptrequest;
    }

    public String getAcceptrequest() {
        return acceptrequest;
    }

    public void setRecordTime(Date recordTime) {
        this.recordTime = recordTime;
    }

    public Date getRecordTime() {
        return recordTime;
    }

    public void setInstrumentId(String instrumentId) {
        this.instrumentId = instrumentId;
    }

    public String getInstrumentId() {
        return instrumentId;
    }

    public String getCustomerName() {
        return customerName;
    }

    public void setCustomerName(String customerName) {
        this.customerName = customerName;
    }

    public String getHomeAddress() {
        return homeAddress;
    }

    public void setHomeAddress(String homeAddress) {
        this.homeAddress = homeAddress;
    }

    public String getAccoutFseName() {
        return accoutFseName;
    }

    public void setAccoutFseName(String accoutFseName) {
        this.accoutFseName = accoutFseName;
    }

    public String getCfda() {
        return cfda;
    }

    public void setCfda(String cfda) {
        this.cfda = cfda;
    }

    @Override
    public String toString() {
        return "ServiceInstrument{" +
                "id=" + id +
                ", serviceNoticeId=" + serviceNoticeId +
                ", serviceNo='" + serviceNo + '\'' +
                ", instrumentNo='" + instrumentNo + '\'' +
                ", instrumentSerialNumber='" + instrumentSerialNumber + '\'' +
                ", factorySo='" + factorySo + '\'' +
                ", deliveryTime=" + deliveryTime +
                ", guaranteeStartTime=" + guaranteeStartTime +
                ", guaranteeEndTime=" + guaranteeEndTime +
                ", contract='" + contract + '\'' +
                ", part='" + part + '\'' +
                ", sla='" + sla + '\'' +
                ", instrumentRemark='" + instrumentRemark + '\'' +
                ", instrumentType='" + instrumentType + '\'' +
                ", instrumentStatus='" + instrumentStatus + '\'' +
                ", statusRemark='" + statusRemark + '\'' +
                ", materialcode='" + materialcode + '\'' +
                ", lifecycle='" + lifecycle + '\'' +
                ", brand='" + brand + '\'' +
                ", serviceRange='" + serviceRange + '\'' +
                ", diviBu='" + diviBu + '\'' +
                ", mdsign='" + mdsign + '\'' +
                ", acceptrequest='" + acceptrequest + '\'' +
                ", sapMaterialNo='" + sapMaterialNo + '\'' +
                ", recordTime=" + recordTime +
                ", instrumentId='" + instrumentId + '\'' +
                ", customerName='" + customerName + '\'' +
                ", homeAddress='" + homeAddress + '\'' +
                ", accoutFseName='" + accoutFseName + '\'' +
                ", cfda='" + cfda + '\'' +
                '}';
    }
}
